/**
 * 快捷设置国际化：
 * const { locale } = new Locale('orgs.view');
 *
 * locale('username');
 */
import { formatMessage } from 'umi';

export default class Locale {
    /**
     * 设置命名空间，一般以文件夹名字为准，例如：'stat.report'
     * @param namespace
     */
    constructor(namespace) {
        this.namespace = namespace;
    }

    /**
     * 设置国际化
     * @param name  名字
     * @param useNamespace  命名空间，如果要使用全局的，请设置为 false
     * @returns {*}
     */
    locale = (name, useNamespace = true) =>
        formatMessage({
            id: useNamespace ? `${this.namespace}.${name}` : name
        });

    static set = name =>
        formatMessage({
            id: name
        });
}
